﻿package mortal.game.view.task.view
{
    import Message.Game.*;
    import Message.Public.*;
    import com.mui.controls.*;
    import com.mui.core.*;
    import com.mui.utils.*;
    import extend.language.*;
    import flash.geom.*;
    import mortal.common.*;
    import mortal.component.gconst.*;
    import mortal.game.cache.*;
    import mortal.game.mvc.*;
    import mortal.game.resource.*;
    import mortal.game.resource.info.item.*;
    import mortal.game.utils.*;
    import mortal.game.view.common.*;
    import mortal.game.view.common.display.*;
    import mortal.game.view.mainUI.Navbar.*;

    public class TaskRewardBig extends GSprite
    {
        private var _items:Array;
        public var render:Class;

        public function TaskRewardBig()
        {
            return;
        }// end function

        public function checkAndFlyToBackpack() : void
        {
            var _loc_5:TaskRewardBaseItem = null;
            if (this._items == null || this._items.length == 0)
            {
                return;
            }
            var _loc_1:Array = [];
            var _loc_2:Array = [];
            var _loc_3:Number = 0.4;
            var _loc_4:* = (GameController.navbar.view as NavbarModule).getNavbarIconGlobalPoint(ModuleType.Pack);
            for each (_loc_5 in this._items)
            {
                
                _loc_1.push(_loc_5.bitmapdata);
                _loc_2.push(_loc_5.localToGlobal(GameConst.yellowPoint));
            }
            FlyToNavbarTool.flyToAnyPointPatch(_loc_1, _loc_2, _loc_4, 55, _loc_3);
            return;
        }// end function

        override protected function createDisposedChildrenImpl() : void
        {
            super.createDisposedChildrenImpl();
            this._items = [];
            this.render = TaskRewardBigItem;
            return;
        }// end function

        override protected function disposeImpl(param1:Boolean = true) : void
        {
            super.disposeImpl(param1);
            DisplayUtil.delNotUse(this._items, 0, true);
            this._items = null;
            this.render = null;
            return;
        }// end function

        public function updateRewards(param1:Array) : void
        {
            var _loc_5:STaskReward = null;
            var _loc_6:SReward = null;
            var _loc_7:TaskRewardBaseItem = null;
            var _loc_8:ItemInfo = null;
            var _loc_9:ItemData = null;
            var _loc_10:String = null;
            var _loc_11:String = null;
            var _loc_2:int = 0;
            var _loc_3:* = Cache.instance.role.entityInfo.level;
            var _loc_4:int = 0;
            while (_loc_4 < param1.length)
            {
                
                _loc_5 = STaskReward(param1[_loc_4]);
                if (_loc_5 == null)
                {
                }
                else if (_loc_5.levelMin > _loc_3 || _loc_5.levelMax != 0 && _loc_5.levelMax < _loc_3)
                {
                }
                else if (!CareerUtil.isCareerSuit(_loc_5.career, Cache.instance.role.entityInfo.career))
                {
                }
                else
                {
                    _loc_6 = _loc_5.reward;
                    switch(_loc_6.type)
                    {
                        case EReward._ERewardItem:
                        {
                            _loc_8 = ItemConfig.instance.getConfig(_loc_6.code);
                            _loc_9 = new ItemData(_loc_6.code);
                            if (!ItemsUtil.isFitCarrer(_loc_9))
                            {
                                break;
                            }
                            _loc_7 = this.getItem(_loc_2);
                            _loc_10 = null;
                            if (ItemsUtil.isWizardCard(_loc_9))
                            {
                                _loc_10 = Language.getString(21195);
                            }
                            _loc_7.setData(_loc_6.code, _loc_6.num, _loc_10);
                            _loc_2++;
                            break;
                        }
                        case EReward._ERewardExp:
                        {
                            _loc_7 = this.getItem(_loc_2);
                            _loc_7.setData(GlobalClass.getBitmapData(ImagesConst.ExpBig), _loc_6.num, Language.getString(21191));
                            _loc_7.tooltipData = Language.getString(21191);
                            _loc_2++;
                            break;
                        }
                        case EReward._ERewardMoney:
                        {
                            _loc_7 = this.getItem(_loc_2);
                            _loc_11 = GameDefConfig.instance.getEPrictUnitName(_loc_6.code);
                            _loc_7.tooltipData = _loc_11;
                            if (_loc_11 == Language.getString(21196))
                            {
                                _loc_11 = Language.getString(21197);
                            }
                            else if (_loc_11.length >= 4)
                            {
                                _loc_11 = _loc_11.substr(0, 1) + _loc_11.substr((_loc_11.length - 1), 1);
                            }
                            _loc_7.setData(GlobalClass.getBitmapData(GameDefConfig.instance.getEPrictUnitBigIcon(_loc_6.code)), _loc_6.num, _loc_11);
                            _loc_7.tooltipData = GameDefConfig.instance.getEPrictUnitName(_loc_6.code);
                            _loc_2++;
                            break;
                        }
                        case EReward._ERewardContribute:
                        {
                            _loc_7 = this.getItem(_loc_2);
                            _loc_7.setData(GlobalClass.getBitmapData(ImagesConst.ContributionBig), _loc_6.num);
                            _loc_7.tooltipData = Language.getString(21192);
                            _loc_2++;
                            break;
                        }
                        case EReward._ERewardResource:
                        {
                            _loc_7 = this.getItem(_loc_2);
                            _loc_7.setData(GlobalClass.getBitmapData(ImagesConst.ResourceBig), _loc_6.num);
                            _loc_7.tooltipData = Language.getString(21193);
                            _loc_2++;
                            break;
                        }
                        case EReward._ERewardSkill:
                        {
                            _loc_7 = this.getItem(_loc_2);
                            _loc_7.setData(GlobalClass.getBitmapData(ImagesConst.jineng), _loc_6.num, Language.getString(21194));
                            _loc_7.tooltipData = Language.getString(21194);
                            _loc_2++;
                            break;
                        }
                        default:
                        {
                            break;
                        }
                    }
                }
                _loc_4++;
            }
            DisplayUtil.delNotUse(this._items, _loc_2, true);
            this.updateLayout();
            return;
        }// end function

        public function updateLayout() : void
        {
            var _loc_2:TaskRewardBaseItem = null;
            var _loc_1:int = 0;
            while (_loc_1 < this._items.length)
            {
                
                _loc_2 = this._items[_loc_1];
                _loc_2.y = 0;
                _loc_2.x = _loc_1 * (_loc_2.width + 5);
                _loc_1++;
            }
            return;
        }// end function

        private function getItem(param1:int) : TaskRewardBaseItem
        {
            var _loc_2:* = this._items[param1];
            if (_loc_2 == null)
            {
                _loc_2 = UICompomentPool.getUICompoment(this.render) as TaskRewardBaseItem;
                this._items[param1] = _loc_2;
                this.addChild(_loc_2);
            }
            return _loc_2;
        }// end function

    }
}
